草庐IT

C++ double 到 long long

全部标签

c# - .NET 的 Double.ToString 方法中的两次错误

在数学上,考虑这个问题的有理数8725724278030350/2**48哪里**分母中表示求幂,即分母为2到48权力。(分数不是最低的,可以减少2。)这个数字是正好可表示为System.Double.它的十进制扩展是31.0000000000000'49'73799150320701301097869873046875(exact)其中撇号不代表丢失的数字,而仅标记四舍五入为的边界。15分别17数字是要执行的。请注意以下事项:如果此数字四舍五入为15位,结果将为31(后跟13个0s)因为接下来的数字(49...)以4开头(意思是向下舍入)。但是如果数字先四舍五入到17位,然后再四舍五

c# - 将对象转换为 Double 的最快方法?

将对象转换为double的最快方法是什么?我现在正在处理一段代码,上面写着:vard=double.TryParse(o.ToString(),outd);//oistheObject...首先想到的是将其重写为vard=Convert.ToDouble(o);但这实际上会更快吗?编辑:除了运行配置文件(顺便说一下,我向任何开发人员强烈推荐JetBrainsdotTrace),我还运行了Reflector,这帮助我来到使用以下内容(或多或少是代码的相关部分):if(oisIConvertible){d=((IConvertible)o).ToDouble(null);}else{d=0

c# - 为什么 Double.TryParse() 对于包含 double.MaxValue 或 double.MinValue 的字符串返回 false?

我有一个静态方法,它接受一个字符串作为输入,如果该字符串代表一个数字,则返回原始输入字符串。如果字符串不代表数字,则处理输入字符串并返回转换后的字符串。我在写测试用例。我正在尝试验证包含double.MinValue或double.MaxValue的输入字符串是否原样返回。我已经阅读了许多论坛,包括StackOverflow,并提出了以下逻辑:stringdoubleMax=double.MaxValue.ToString();doubled;CultureInfocultureInfo=newCultureInfo("en-US",true);if(Double.TryParse(d

c# - LINQ to SQL 值介于两个 double 值之间

我正在使用LINQtoSQL查询我的数据库,我有一个与此非常相似的查询:varresult=fromdb.MyTable.Where(d=>(double)d.Price>=minValue)我需要where子句有一个d.Proce>=minValue,和d.Price=(类似于T-SQLBETWEEN子句)。我该怎么做? 最佳答案 这个怎么样:varresult=fromdb.MyTable.Where(d=>(double)d.Price>=minValue&&(double)d.Price

c# - LINQ to Entities 无法识别方法 'System.String StringConvert(System.Nullable` 1[System.Double])

我不明白为什么会出现此错误。我已经在以前版本的EntityFramework中成功地使用了这个函数,但是我已经使用EF6设置了一个新项目并且它没有合作。usingSystem.Data;usingSystem.Data.Objects.SqlClient;e.Result=fromninMyDB.tblBulletinswheren.AnncStartDateTime.Now&&n.Approved==trueorderbyn.AnncStartdescending,n.AnncDatedescendingselectnew{n.RecID,AnncTitle=n.AnncTitle+

c# - LINQ 计算 SortedList<dateTime,double> 的移动平均值

我有一个SortedList形式的时间序列.我想计算这个系列的移动平均值。我可以使用简单的for循环来做到这一点。我想知道是否有更好的方法使用linq来执行此操作。我的版本:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){varmySeries=newSortedList();mySeries.Add(newDateTime(2011,01

c# - 在 C# 中将 double 转换为十六进制

我有这个值:doubleheadingAngle=135.34375;我想将它转换为十六进制并将十六进制打印到控制台。我已经将string和int转换为它们各自的HEX值,但是double似乎要棘手得多。有人能指出我正确的方向吗? 最佳答案 好吧,我用谷歌搜索了一两分钟,然后根据this这是一个非常优雅的解决方案doubled=12.09;Console.WriteLine("Doublevalue:"+d.ToString());byte[]bytes=BitConverter.GetBytes(d);Console.WriteL

c# - 无法设置为 'System.Decimal' 值。您必须将此属性设置为类型为 'System.Double' 的非空值

您好,我正在使用mvc示例从数据库中获取数据。这里我得到一个错误ExceptionDetails:System.InvalidOperationException:The'number'propertyon'Employee'couldnotbesettoa'System.Decimal'value.Youmustsetthispropertytoanon-nullvalueoftype'System.Double'.Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Plea

c# - 将double拆分为两个int,一个int在小数点前,一个在小数点后

我需要将一个double值拆分为两个int值,一个在小数点前,一个在小数点后。小数点后的整数应有两位数。例子:10.50=10and5010.45=10and4510.5=10and50 最佳答案 你可以这样做:strings=inputValue.ToString("0.00",CultureInfo.InvariantCulture);string[]parts=s.Split('.');inti1=int.Parse(parts[0]);inti2=int.Parse(parts[1]);

c# - Float to Double 转换 - 单元测试中的最佳断言?

给出语句floatf=7.1f;doubled=f;我们可以在关于d的单元测试中断言什么?例如这不起作用:Console.WriteLine(d==7.1d);//falseConsole.WriteLine(d7.1d-float.Epsilon);//false(lessluck)目前我发现的最好的方法是将值转换回来:floatf2=(float)d;Console.WriteLine(f2==f);//true这和粗暴的说法是一样的Console.WriteLine(d==7.1f);//7.1fimplicitlyconvertedtodoubleasabove这个问题不是关于